package com.shell.customer.base.service;

import com.shell.bee.persistence.model.PageLimit;
import com.shell.bee.persistence.service.PersistentService;
import com.shell.customer.accreditation.vo.AuthenticatingCusVo;
import com.shell.customer.base.vo.CusRecVo;
import com.shell.customer.po.CusRec;
import java.util.List;
import org.apache.ibatis.annotations.Param;

public abstract interface CusRecService extends PersistentService<CusRec> {
	public abstract CusRecVo selectEnterpriseInfo(String paramString);

	public abstract int saveCustomer(CusRecVo paramCusRecVo);

	public abstract boolean checkCustomer(String paramString1, String paramString2, String paramString3);

	public abstract int updateCustomer(CusRecVo paramCusRecVo);

	public abstract CusRecVo getCustomer(String paramString);

	public abstract List<CusRecVo> selectCustomerList(PageLimit paramPageLimit, CusRecVo paramCusRecVo);

	public abstract boolean checkPhoneNo(String paramString1, String paramString2);

	public abstract CusRec checkCustCode(String paramString1, String paramString2);

	public abstract CusRec getCustomerByCode(String paramString1, String paramString2, String paramString3);

	public abstract int freezeOrResumeCustomer(String paramString, boolean paramBoolean);

	public abstract List<CusRec> selectCustomerInfos(CusRecVo paramCusRecVo);

	public abstract List<AuthenticatingCusVo> getAuthenticatingCus(PageLimit paramPageLimit,
			String[] paramArrayOfString, String paramString1, String paramString2, String paramString3);

	public abstract List<AuthenticatingCusVo> getLastTrialCus(PageLimit paramPageLimit, String[] paramArrayOfString,
			String paramString1, String paramString2, String paramString3);

	public abstract int updateCustomerOptimistically(CusRec paramCusRec, String paramString);

	public abstract List<CusRec> getUserCusList(PageLimit paramPageLimit, @Param("searchStr") String paramString1,
			@Param("cusState") String paramString2);

	public abstract List<CusRec> selectCustomerInviteList(PageLimit paramPageLimit, CusRec paramCusRec);

	public abstract CusRec selectCustomerInviteById(String paramString);

	public abstract CusRec selectCustomerByNameTypeSrcId(String paramString1, String paramString2, String paramString3);

	public abstract List<CusRec> getCooperationAgencyList(PageLimit paramPageLimit, String paramString);

	public abstract CusRec getCustomerByLoginName(String paramString);

	public abstract CusRec getCustomerByInviteCode(String paramString);

	public abstract CusRec checkCusName(String paramString1, String paramString2);

	public abstract boolean checkAcctNo(String paramString1, String paramString2);

	public abstract CusRec selectCusByIdType(String paramString1, String paramString2);

	public abstract CusRec getPlatform(String paramString);

	public abstract List<CusRec> selectCusByGrpIdAndTagCode(String paramString1, String paramString2);
}
